android - sqlite 日期查询
全部标签 我有一张交易表,需要查找日期与今天匹配的记录。在Rails控制台中,我需要匹配的日期字段如下所示。我已经分配了一条记录进行测试。ruby-1.9.2-p0>deal.start=>Tue,10May201100:00:00UTC+00:00如果我像这样尝试查找与开始日期匹配的任何记录,我会得到nilruby-1.9.2-p0>Deal.find_by_start(Date.today)=>nil然后我想我可以通过将Date.today转换为日期时间来匹配。ruby-1.9.2-p0>Date.today.to_datetime=>Tue,10May201100:00:00+0000ru
我想查找在给定周内创建的所有项目,并传入周数参数。(created_at是一个普通的时间戳。)给定周数,找到该特定周的日期的最简单方法是什么?(一周中的任何日期都可以,因为我将在范围内使用beginning_of_week和end_of_week。) 最佳答案 您可以使用commercial方法获取表示一周开始和结束的Date对象:week=41;wkBegin=Date.commercial(2010,week,1)wkEnd=Date.commercial(2010,week,7)现在做你的发现:Item.find(:all,:
只是好奇-是否有更短的方法来实现这一目标?latest_date=date1>date2?date1:date2谢谢 最佳答案 使用Enumerable#max:latest_date=[date1,date2].max 关于ruby-on-rails-ruby中是否有更短的方法来获取两个日期中的较晚日期?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9475848/
classUserhas_many:books我需要一个返回的查询:最近一本书具有:complete=>true的用户。即,如果用户最近的书有:complete=>false,我不希望它们出现在我的结果中。到目前为止我有什么User.joins(:books).merge(Book.where(:complete=>true))这是一个很有希望的开始,但没有给我需要的结果。我试过添加.order("created_ondesc").limit(1)到上述查询的末尾,但是当我期待很多结果时,我最终只得到一个结果。谢谢! 最佳答案 如果
我正在尝试在我的Controller中使用以下行来捕获从当前日期起不到一周的所有任务:@due_this_week=current_user.tasks.where(due_date:Date.today..1.week.from_now)出于某种原因,它没有找到任何结果,即使我知道我有四到六天的任务到期。这是唯一使用范围查询的实例变量。我有另一个可以很好地查找逾期任务的工具:@overdue=current_user.tasks.where("due_date我错过了什么? 最佳答案 应该是:@due_this_week=curr
我有一个日期范围,我希望能够反向循环。请提供以下内容,我将如何完成此操作,标准的Range运算符似乎无法正常工作。>>sd=Date.parse('2010-03-01')=>Mon,01Mar2010>>ed=Date.parse('2010-03-05')=>Fri,05Mar2010>>(sd..ed).to_a=>[Mon,01Mar2010,Tue,02Mar2010,Wed,03Mar2010,Thu,04Mar2010,Fri,05Mar2010]>>(ed..sd).to_a=>[]如您所见,范围运算符从头到尾都能正常工作,但不能从头到尾正常工作。
我有params[:month,:day,:year],我需要将它们转换成一个DateTime,我可以把它放在一个隐藏的输入中。在Rails3中执行此操作的最佳方法是什么? 最佳答案 你可以做到DateTime.new(params[:year],params[:month],params[:day]) 关于ruby-使用月、日和年在Rails中创建日期时间,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c
我好像找不到这个,我觉得应该很容易。在RubyonRails中,我如何采取:2010-06-1419:01:00UTC把它变成June14th,2010我不能只在View中使用助手吗? 最佳答案 我不知道June14th,2010但如果你想June14,2010引用howdoigetnameofthemonthinrubyonRails?或this就这样@date=Time.now@date.strftime("%B%d,%Y")后缀用在后面@date.strftime("%B#{@date.day.ordinalize},%Y")
我正在寻找一种有效的方法,在Ruby1.9.x/Rails3.2.x中,以一个小时的步长在两个DateTime对象之间进行迭代。('2013-01-01'.to_datetime..'2013-02-01'.to_datetime).step(1.hour)do|date|...end我知道这个问题是1.hour只是秒数,但我尝试将其转换为DateTime对象并将其用作步骤也不起作用.我查看了“BewareofRubySugar”。它在底部附近提到DateTime有一个直接的step方法。我通过在DateTime对象上运行methods来确认这一点,但是我在DateTime中找不到任何
我正在努力寻找ActiveRecord对象的includes()和preload()的比较。谁能解释一下区别? 最佳答案 Rails有两种方法可以避免n+1问题。一个涉及创建一个基于大连接的查询以拉入您的关联,另一个涉及为每个关联进行单独的查询。当您执行includes时,rails会决定为您使用哪种策略。它默认使用单独的查询方法(预加载),除非它认为您正在使用条件或订单中关联的列。因为这只适用于joins方法,所以改用它。Rails的启发式方法有时会出错,或者您可能有特定的原因偏爱一种方法而不是另一种方法。preload(及其配套